【PCIe 5.0

您所在的位置:网站首页 pcie ari support开启 【PCIe 5.0

【PCIe 5.0

2023-07-31 02:13| 来源: 网络整理| 查看: 265

承接【PCIe 5.0 - 100】SR-IOV【1】

PCIe 系列SR-IOV导航: 【PCIe 5.0 - 100】SR-IOV【1】 【PCIe 5.0 - 101】SR-IOV【2】 【PCIe 5.0 - 102】SR-IOV【3】 【PCIe 5.0 - 103】SR-IOV 【4】

文章目录 9.3.4 PF/VF Configuration Space Header9.3.4.1 PF/VF Type 0 Configuration Space Header9.3.4.1.1 Vendor ID Register Changes (Offset 00h)9.3.4.1.2 Device ID Register Changes (Offset 02h)9.3.4.1.3 Command Register Changes (Offset 04h)9.3.4.1.4 Status Register Changes (Offset 06h)9.3.4.1.5 Revision ID Register Changes (Offset 08h)9.3.4.1.6 Class Code Register Changes (Offset 09h)9.3.4.1.7 Cache Line Size Register Changes (Offset 0Ch)9.3.4.1.8 Latency Timer Register Changes (Offset 0Dh)9.3.4.1.9 Header Type Register Changes (Offset 0Eh)9.3.4.1.10 BIST Register Changes (Offset 0Fh)9.3.4.1.11 Base Address Registers Register Changes (Offset 10h, 14h, … 24h)9.3.4.1.12 Cardbus CIS Pointer Register Changes (Offset 28h)9.3.4.1.13 Subsystem Vendor ID Register Changes (Offset 2Ch)9.3.4.1.14 Subsystem ID Register Changes (Offset 2Eh)9.3.4.1.15 Expansion ROM Base Address Register Register Changes (Offset 30h)9.3.4.1.16 Capabilities Pointer Register Changes (Offset 34h)9.3.4.1.17 Interrupt Line Register Changes (Offset 3Ch)9.3.4.1.18 Interrupt Pin Register Changes (Offset 3Dh)9.3.4.1.19 Min_Gnt Register/Max_Lat Register Changes (Offset 3Eh/3Fh) 9.3.5 PCI Express Capability Changes9.3.5.1 PCI Express Capabilities Register Changes (Offset 00h)9.3.5.2 PCI Express Capabilities Register Changes (Offset 02h)9.3.5.3 Device Capabilities Register Changes (Offset 04h)9.3.5.4 Device Control Register Changes (Offset 08h)9.3.5.5 Device Status Register Changes (Offset 0Ah)9.3.5.6 Link Capabilities Register Changes (Offset 0Ch)9.3.5.7 Link Control Register Changes (Offset 10h)9.3.5.8 Link Status Register Changes (Offset 12h)9.3.5.9 Device Capabilities 2 Register Changes (Offset 24h)9.3.5.10 Device Control 2 Register Changes (Offset 28h)9.3.5.11 Device Status 2 Register Changes (Offset 2Ah)9.3.5.12 Link Capabilities 2 Register Changes (Offset 2Ch)9.3.5.13 Link Control 2 Register Changes (Offset 30h)9.3.5.14 Link Status 2 Register Changes (Offset 32h) 9.3.6 PCI Standard Capabilities9.3.6.1 VPD Capability

9.3.4 PF/VF Configuration Space Header

  本节定义了对 PF 和 VF 配置空间字段的要求。

  本章中列出的寄存器定义建立了现有 PCI-SIG 规范和支持PCIe SR-IOV设备的PF/VF之间的映射。

9.3.4.1 PF/VF Type 0 Configuration Space Header

  图 9-20详细说明了 PCI Express Type 0 Configuration Space Header的寄存器字段分配。 PF/VF Type 0 Configuration Space Header

图9-20 PF/VF Type 0 Configuration Space Header

  本节定义了特定PCI Express Type 0 Configuration Space Header的寄存器的 PCI Express特定解释。

  Error Reporting字段在第 9.4 节中有更详细的描述

9.3.4.1.1 Vendor ID Register Changes (Offset 00h)

  此只读寄存器标识设备的制造商。

  所有VF中的该字段在读取时都返回FFFFh。 VI软件应从关联的PF返回Vendor ID值作为VF的Vendor ID值。

9.3.4.1.2 Device ID Register Changes (Offset 02h)

  此只读寄存器标识特定设备。

  所有VF中的该字段在读取时都返回 FFFFh。VI软件应从关联的PF中返回VF Device ID(9.3.3.11 )值作为 VF 的Device ID。

  为Device ID和Vendor ID返回FFFFh可以让某些旧版软件忽略VFs。

9.3.4.1.3 Command Register Changes (Offset 04h)

  PF 和 VF 功能在PCIe 5.0 base 7.5.1.1.3 节中定义,除非表9-13中另有说明。 对于标记为RsvdP的VF 字段,PF设置也适用于VF。

表9-9-14 Status Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性0I/O Space Enable - VF不适用,且必须硬连线到0bBase0b1Memory Space Enable - VF不适用,且必须硬连线到0b。VF Memory Space由VF Control寄存器中的VF MSE位来控制Base0b2Bus Master Enable- 其Bus Master Enable Set的 VF事务不得被其Bus Master Enable Cleared的 VF事务阻止。BaseBase6Parity Error ResponseBaseRsvdP8SERR# EnableBaseRsvdP10Interrupt Disable- VF不适用Base0b 9.3.4.1.4 Status Register Changes (Offset 06h)

  PF 和 VF 功能在第 7.5.1.1.4 节中定义,除非表 9-14 中另有说明。

表9-14 Command Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性3Interrupt Status - VF不适用Base0b 9.3.4.1.5 Revision ID Register Changes (Offset 08h)

  该寄存器指定设备特定的版本id。

  VF 中报告的值可能与 PF 中报告的值不同。

9.3.4.1.6 Class Code Register Changes (Offset 09h)

  Class Code寄存器是 RO,用于识别设备的通用功能,在某些情况下,用于识别特定的寄存器级编程接口。 PF 和关联的 VF 中的字段在读取时必须返回相同的值。

9.3.4.1.7 Cache Line Size Register Changes (Offset 0Ch)

  该字段由 PCI Express 设备实现为用于传统兼容性目的的RW字段,但对任何 PCI Express 设备行为没有影响。 PF继续将此字段实现为 RW。 对于VF,此字段为 RO 零。

9.3.4.1.8 Latency Timer Register Changes (Offset 0Dh)

  这个字段不适用于PCIe,寄存器是RO 0。

9.3.4.1.9 Header Type Register Changes (Offset 0Eh)

  该字节标识预定义header的第二部分的布局(从配置空间中的10h 开始)以及设备是否包含多个Functions。 该寄存器中的第 7 位用于标识Multi-Function Device设备。 对于 SR-IOV 设备,该寄存器中的第 7 位仅在有多个Functions时Set。 VF 不影响bit 7 的值。bit 6 到 0 标识预定义header的第二部分的布局。 对于 VF,该寄存器必须为 RO 0。

9.3.4.1.10 BIST Register Changes (Offset 0Fh)

  VF 不应支持 BIST,并且必须将此字段定义为 RO 零。   如果在设备的任何 PF 中打开 VF Enable,则软件不得在与该设备关联的任何Function中调用 BIST。

9.3.4.1.11 Base Address Registers Register Changes (Offset 10h, 14h, … 24h)

  对VF而言,这些寄存器的值都是RO 0。

9.3.4.1.12 Cardbus CIS Pointer Register Changes (Offset 28h)

  VF不使用这个寄存器并且应该是RO 0。

9.3.4.1.13 Subsystem Vendor ID Register Changes (Offset 2Ch)

  此只读字段标识subsystem的制造商。 PF 和关联的 VF 中的字段在读取时必须返回相同的值。

9.3.4.1.14 Subsystem ID Register Changes (Offset 2Eh)

  此只读字段标识特定subsystem。 Device 的 PF 和 VF 值可能不同。

9.3.4.1.15 Expansion ROM Base Address Register Register Changes (Offset 30h)

  PF中可以实现Expansion ROM Base Address Register,Expansion ROM Base Address Register在VF中是RO 0。VI 可以通过仿真为VF提供对Expansion ROM Base Address Register的访问。

  PF 不允许实现扩展 ROM 地址解码器共享

9.3.4.1.16 Capabilities Pointer Register Changes (Offset 34h)

  这个同PCIe 5.0 base中的7.5.1.1.11Capabilities Pointer (Offset 34h)没有区别

9.3.4.1.17 Interrupt Line Register Changes (Offset 3Ch)

  寄存器不适用于VF,必须是 RO 0。

9.3.4.1.18 Interrupt Pin Register Changes (Offset 3Dh)

  寄存器不适用于VF,必须是 RO 0。

9.3.4.1.19 Min_Gnt Register/Max_Lat Register Changes (Offset 3Eh/3Fh)

  这些寄存器不适用于 PCIe。 它们必须是 RO 0。

9.3.5 PCI Express Capability Changes

  PCI Express Capability(7.5.3 节)用于识别PCI Express设备并指示对PCI Express功能的支持。   图 7-21详细说明了PCI Express Capability中寄存器字段的分配。 需要PF和VF来实现此功能,但须遵守下文所述的例外情况和附加要求。

9.3.5.1 PCI Express Capabilities Register Changes (Offset 00h)

  PCI Express Capabilities Register在第 7.5.3.2 节中描述,其中描述的功能适用于 PF 和 VF。

9.3.5.2 PCI Express Capabilities Register Changes (Offset 02h)

  PCI Express Capabilities寄存器标识 PCI Express 设备类型和相关功能。   PF 和 VF 功能在第 7.5.3.2 节中定义。

9.3.5.3 Device Capabilities Register Changes (Offset 04h)

  Device Capabilities Register标识PCI Express设备特定的capabilities。 图 7-24 详细说明 Device Capabilities Register 中寄存器字段的分配; 表 9-15 提供了相应的bit定义。

  除非在表 9-15 中注明,PF 和 VF 功能在第 7.5.3.3 节中定义。

表9-15 Device Capabilities Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性4:3Phantom Functions Supported - 设置 VF Enable 时,不允许此 PF 和关联的 VF 使用 Phantom Function 编号,并且该字段在读取时必须返回 00b。Base00b25:18Captured Slot Power Limit ValueBase没定义27:26Captured Slot Power Limit ScaleBase没定义28Function Level Reset Capability,PF和VF需要1b1b 9.3.5.4 Device Control Register Changes (Offset 08h)

  Device Control Register控制PCI Express设备特定参数。图7-25详细说明Device Control寄存器中寄存器字段的分配;表9-16提供了相应的位定义。   PF和VF功能在7.5.3.4节中定义,除非在表9-16中注明。对于标记为RsvdP的VF字段,PF设置适用于VF。

表9-16 Device Control Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性0Correctable Error Reporting EnableBaseRsvdP1Non-Fatal Error Reporting EnableBaseRsvdP2Fatal Error Reporting EnableBaseRsvdP3Unsupported Request Reporting EnableBaseRsvdP4Enable Relaxed OrderingBaseRsvdP7:5Max_Payload_SizeBaseRsvdP8Extended Tag Field EnableBaseRsvdP9Phantom Functions EnableBaseRsvdP10Aux Power PM EnableBaseRsvdP11Enable No SnoopBaseRsvdP14:12Max_Read_Request_SizeBaseRsvdP15Initiate Function Level Reset - PFs和VFs需要。注意:在 PF 中设置 Initiate Function Level Reset 会重置 VF Enable,这意味着在 FLR 完成后 VF 不再存在。BaseRsvdP

9.3.5.5 Device Status Register Changes (Offset 0Ah)

  Device Status寄存器提供有关 PCI Express 设备特定参数的信息。 图 7-26 详细说明 Device Status 寄存器中寄存器字段的分配; 表 9-17 提供了相应的位定义。

  PF 和 VF 功能在第 7.5.3.5 节中定义,除非表 9-17 中另有说明。

表9-17 Device Status Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性4AUX Power DetectedBase0b6Emergency Power Reduction DetectedBase0b

9.3.5.6 Link Capabilities Register Changes (Offset 0Ch)

  Link Capabilities寄存器标识 PCI Express Link 特定的capabilities。 PCIe 5.0 base中图 7-27 详细说明了Link Capabilities寄存器中寄存器字段的分配。   PF 和 VF 功能在7.5.3.6 节中定义。

9.3.5.7 Link Control Register Changes (Offset 10h)

  Link Control Register控制 PCI Express 链路的特定参数。 图 7-28 详细说明了Link Control register中寄存器字段的分配。 PF 和 VF 功能在7.5.3.7 节中定义,除非表 9-18 中另有说明。 对于标记为 RsvdP 的 VF 字段,PF 设置适用于 VF。

表9-18 Link Control Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性1:0Active State Power Management (ASPM) ControlBaseRsvdP3Read Completion Boundary (RCB) ,VF必须硬连线到0BaseRsvdP6Common Clock ConfigurationBaseRsvdP7Extended SynchBaseRsvdP8Enable Clock Power ManagementBaseRsvdP9Hardware Autonomous Width DisableBaseRsvdP

9.3.5.8 Link Status Register Changes (Offset 12h)

  Link Status Register提供有关 PCI Express 链路特定参数的信息。 图 7-29 详细说明了Link Status Register中寄存器字段的分配。   PF 功能在第 7.5.3.8 节中定义。 对于 VF,此寄存器中的所有字段都是 RsvdZ,PF 设置适用于 VF。

9.3.5.9 Device Capabilities 2 Register Changes (Offset 24h)

PF 和 VF 功能在7.5.3.15 节中定义,表 9-19 中注明的除外。

表9-19 Device Capabilities 2 Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性3:0Completion Timeout Ranges SupportedVF 值必须与 PF 值相同。BaseBase4Completion Timeout Disable SupportedVF 值必须与 PF 值相同。BaseBase6AtomicOp Routing Supported不适用于Endpoint。RsvdPRsvdP732-bit AtomicOp Completer SupportedVF 值必须与 PF 值相同。BaseBase864-bit AtomicOp Completer SupportedVF 值必须与 PF 值相同。BaseBase9128-bit CAS Completer SupportedVF 值必须与 PF 值相同。BaseBase1610-Bit Tag Completer SupportedVF 值必须与 PF 值相同。BaseBase1710-Bit Tag Requester SupportedVF 值必须等于 SR-IOV Capabilities寄存器中 VF 10-Bit Tag Requester Supported位的值BaseBase25:24Emergency Power Reduction SupportedVF 值必须与 PF 值相同。BaseBase26Emergency Power Reduction Initialization RequiredVF 值必须与 PF 值相同。BaseBase

9.3.5.10 Device Control 2 Register Changes (Offset 28h)

PF 和 VF 功能在第 7.5.3.16 节中定义,表 9-20 中注明的除外。

表9-20 Device Control 2 Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性3:0Completion Timeout ValuePF 值适用于所有关联的 VF。BaseRsvdP4Completion Timeout DisablePF 值适用于所有关联的 VF。BaseRsvdP6AtomicOp Requester EnablePF 值适用于所有关联的 VF。BaseRsvdP8IDO Request EnablePF 值适用于所有关联的 VF。BaseRsvdP9IDO Completion EnablePF 值适用于所有关联的 VF。BaseRsvdP11Emergency Power Reduction Request该位仅存在于与Upstream Port关联的一个Function中。 该Function不能是 VF。BaseRsvdP1210-Bit Tag Requester EnableSR-IOV Control寄存器中的VF 10-Bit Tag Requester Enable位中的值适用于所有关联的 VF。BaseRsvdP

9.3.5.11 Device Status 2 Register Changes (Offset 2Ah)

PF 和 VF 功能在PCIe 5.0 Base 7.5.3.17 节中定义。

9.3.5.12 Link Capabilities 2 Register Changes (Offset 2Ch)

PF 和 VF 功能在PCIe 5.0 Base 7.5.3.18 节中定义。

9.3.5.13 Link Control 2 Register Changes (Offset 30h)

PF 和 VF 功能在PCIe 5.0 Base 7.5.3.19 节中定义。

9.3.5.14 Link Status 2 Register Changes (Offset 32h)

PF 和 VF 功能在第 7.5.3.20 节中定义,除非表9-21中另有说明。标记为RsvdZ的VF字段使用关联PF的值。

表9-21 Link Status 2 Register Changes Bit LocationPF and VF Register Differences From BasePF属性VF属性0Completion Timeout ValuePF 值适用于所有关联的 VF。BaseRsvdP

9.3.6 PCI Standard Capabilities

PCI Standard Capabilities的 SR-IOV 使用在表 9-22 中进行了描述。 标记为 n/a 的项目不适用于 PF 或 VF。

表9-22 SR-IOV Usage of PCI Standard Capabilities . Capability IDDescriptionPF属性VF属性00hNull CapabilityBaseBase01hPCI Power Management InterfaceBase可选02hAGPn/an/a03hVPDBase可选04hSlot Identificationn/an/a05hMSIBase见9.5.1.1节06hCompactPCI Hot Swapn/an/a07hPCI-Xn/an/a08hHyperTransportn/an/a09hVendor-specific BaseBaseBase0AhDebug PortBaseBase0BhCompactPCI Central Resource Controln/an/a0ChPCI Hot PlugBasen/a0DhPCI Bridge Subsystem IDn/an/a0EhAGP 8x IDn/an/a0FhSecure Device IDn/an/a10hPCI ExpressBase见9.3.511hMSI-X见9.5.1.2和9.5.1.3见9.5.1.2和9.5.1.312hSerial ATA Data/Index ConfigurationBasen/a13hAdvanced Featuresn/an/a14hEnhanced AllocationBase禁止实现15hFlattening Portal Bridge (FPB)n/an/a

9.3.6.1 VPD Capability

  VPD 功能在 PCI 中是可选的。 它在 SR-IOV 中仍然是可选的。   实现VPD Capability 的 VF 和 PF 必须通过 VPD Capability 确保 VF 和/或 PF 之间不会出现“数据泄漏(data leakage)”。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3